翻訳と辞書
Words near each other
・ Binary Land
・ Binary large object
・ Binary liquid
・ Binary logarithm
・ Binary logic
・ Binary matroid
・ Binary moment diagram
・ Binary multiplier
・ Binary number
・ Binary object
・ Binary octahedral group
・ Binary offset carrier modulation
・ Binary operation
・ Binary opposition
・ Binary option
Binary Ordered Compression for Unicode
・ Binary pattern (image generation)
・ Binary Peaks
・ Binary plan
・ Binary prefix
・ Binary prioritization
・ Binary protocol
・ Binary pulsar
・ Binary quadratic form
・ Binary recompiler
・ Binary relation
・ Binary repository manager
・ Binary Research
・ Binary response model with continuous endogenous explanatory variables
・ Binary Runtime Environment for Wireless


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

Binary Ordered Compression for Unicode : ウィキペディア英語版
Binary Ordered Compression for Unicode

Binary Ordered Compression for Unicode (BOCU) is a MIME compatible Unicode compression scheme. BOCU-1 combines the wide applicability of UTF-8 with the compactness of Standard Compression Scheme for Unicode (SCSU). This Unicode encoding is designed to be useful for compressing short strings, and maintains code point order. BOCU-1 is specified in a Unicode Technical Note.

For comparison SCSU was adopted as standard Unicode compression scheme with a byte/code point ratio similar to language-specific code pages. SCSU has not been widely adopted, as it is not suitable for MIME “text” media types. For example, SCSU cannot be used directly in emails and similar protocols. SCSU requires a complicated encoder design for good performance. Usually, the zip, bzip2, and other industry standard algorithms compact larger amounts of Unicode text more efficiently.
Both SCSU〔(IANA registration record for SCSU )〕 and BOCU-1〔(IANA registration record for BOCU-1 )〕 are IANA registered charsets.
== Details ==

All numbers in this section are hexadecimal, and all ranges are inclusive.
Code points from U+0000 to U+0020 are encoded in BOCU-1 as the corresponding byte value. All other code points (that is, U+0021 through U+D7FF and U+E000 through U+10FFFF) are encoded as a difference between the code point and a normalized version of the most recently encoded code point that was not an ASCII space (U+0020). The initial state is U+0040. The normalization mapping is as follows:
The difference between the current code point and the normalized previous code point is encoded as follows:
Each byte range is lexicographically ordered with the following thirteen byte values excluded: 00 07 08 09 0A 0B 0C 0D 0E 0F 1A 1B 20. For example, the byte sequence FC 06 FF, coding for a difference of 1156B, is immediately followed by the byte sequence FC 10 01, coding for a difference of 1156C.
Any ASCII input U+0000 to U+007F excluding space U+0020 resets the encoder to U+0040. Because the above mentioned values cover line end code points U+000D and U+000A ''as is'' (0D 0A), the encoder is in a known state at the begin of each line. The corruption of a single byte therefore affects at most one line. For comparison, the corruption of a single byte in UTF-8 affects at most one code point, for SCSU it can affect the entire document.
BOCU-1 offers a similar robustness also for input texts without the above mentioned values with the special reset code 0xFF. When a decoder finds this octet it resets its state to U+0040 as for a line end. The use of 0xFF reset bytes is not recommended in the BOCU-1 specification, because it conflicts with other BOCU-1 design goals, notably the ''binary order''.
The optional use of a signature U+FEFF at the begin of BOCU-1 encoded texts, i.e. the BOCU-1 byte sequence FB EE 28, changes the initial state U+0040 to U+FEC0. In other words the signature cannot simply be stripped as in most other Unicode encoding schemes. Adding a reset byte after the signature (FB EE 28 FF) could avoid this effect, but the BOCU-1 specification does not recommend this practice.
In theory UTF-1 and UTF-8 could encode the original UCS-4 set with 31 bits up to 7FFFFFFF. BOCU-1 and UTF-16 can encode
the modern Unicode set from U+0000 to U+10FFFF. Excluding the thirteen ''protected'' code points encoded as single octets BOCU-1 can use 256 - 13 = 243 octets in multi-byte encodings. BOCU-1 needs at most four bytes consisting of a lead byte and one to three trail bytes. The trail bytes encode a remaining "modulo 243" (base 243) difference, the lead byte determines the number of trail bytes and an initial difference.
Note that the reset byte 0xFF is not ''protected'' and can occur as trail byte.

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「Binary Ordered Compression for Unicode」の詳細全文を読む



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.